<?php

class CalendarioAcademico extends AppModel {
	
	var $belongsTo = array('TipoSerie');
	
	var $hasMany = array('CalendarioAcademicoModulo','CalendarioAcademicoCargaHoraria');
	
	var $displayField = 'nome';

	var $validate = array(
	
        'nome' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Nome deve ser informado!',
                'last' => true
			)
		),

		'tipo_serie_id' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Série deve ser informado!',
                'last' => true
			)
		),
		
		'ano' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Ano deve ser informado!',
                'last' => true
			)
		),	

		'media_recup' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Média para Aprovação deve ser informada!',
                'last' => true
			)	
		),			
		
		'media_aprovacao' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Média para Aprovação deve ser informada!',
                'last' => true
			)	
		),		
		
		'num_dias_letivo' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Número de dias letivo deve ser informado!',
                'last' => true
			)
		),		
		
		'carga_horaria_total' => array(
            'vazio' => array(
                'rule' => 'notEmpty',
                'required' => true,
                'message' => 'Carga Horária Total deve ser informada!',
                'last' => true
			)
		)
		
	);
	
	public function get_valor_modulo($id = null, $ano = null, $tipo_serie_id = null, $modulo_id = null) {

		if (!$id && (!$ano || !$tipo_serie_id))
			return false;

		if (!$modulo_id)
			return false;
		
		if (!$id) {
			$conditions['ano'] = $ano;
			$conditions['tipo_serie_id'] = $tipo_serie_id;
			$this->recursive = -1;
			$id = $this->field('id', $conditions);
		}
		
		return $this->CalendarioAcademicoModulo->get_valor_modulo($id, $modulo_id);
	}

	public function get_num_dias($id = null, $ano = null, $tipo_serie_id = null, $modulo_id = null) {

		if (!$id && (!$ano || !$tipo_serie_id))
			return false;

		if (!$modulo_id)
			return false;
		
		if (!$id) {
			$conditions['ano'] = $ano;
			$conditions['tipo_serie_id'] = $tipo_serie_id;
			$this->recursive = -1;
			$id = $this->field('id', $conditions);
		}
		
		return $this->CalendarioAcademicoModulo->get_num_dias($id, $modulo_id);
	}	
}